mirror of
https://github.com/mihakralj/QuanTAlib.git
synced 2026-07-28 17:57:45 +00:00
567 lines
33 KiB
Python
567 lines
33 KiB
Python
"""Low-level ctypes bindings for every quantalib NativeAOT export.
|
|
|
|
Auto-generated by generate_category_modules.py — DO NOT EDIT.
|
|
|
|
Each native function is bound via ``_bind`` at module load. If the shared
|
|
library was compiled without a particular export the binding is silently
|
|
skipped (the corresponding ``HAS_*`` flag stays False).
|
|
"""
|
|
from __future__ import annotations
|
|
|
|
import ctypes
|
|
from ctypes import c_double, c_int, POINTER
|
|
from typing import Final
|
|
|
|
from ._loader import load_native_library
|
|
|
|
# ---------------------------------------------------------------------------
|
|
# Status codes (mirror StatusCodes.cs)
|
|
# ---------------------------------------------------------------------------
|
|
QTL_OK: Final[int] = 0
|
|
QTL_ERR_NULL_PTR: Final[int] = 1
|
|
QTL_ERR_INVALID_LENGTH: Final[int] = 2
|
|
QTL_ERR_INVALID_PARAM: Final[int] = 3
|
|
QTL_ERR_INTERNAL: Final[int] = 4
|
|
|
|
|
|
class QtlError(Exception):
|
|
"""Base exception for quantalib native errors."""
|
|
|
|
|
|
class QtlNullPointerError(QtlError):
|
|
pass
|
|
|
|
|
|
class QtlInvalidLengthError(QtlError):
|
|
pass
|
|
|
|
|
|
class QtlInvalidParamError(QtlError):
|
|
pass
|
|
|
|
|
|
class QtlInternalError(QtlError):
|
|
pass
|
|
|
|
|
|
_STATUS_MAP: dict[int, type[QtlError]] = {
|
|
QTL_ERR_NULL_PTR: QtlNullPointerError,
|
|
QTL_ERR_INVALID_LENGTH: QtlInvalidLengthError,
|
|
QTL_ERR_INVALID_PARAM: QtlInvalidParamError,
|
|
QTL_ERR_INTERNAL: QtlInternalError,
|
|
}
|
|
|
|
|
|
def _check(status: int) -> None:
|
|
"""Raise if *status* is not QTL_OK."""
|
|
if status == QTL_OK:
|
|
return
|
|
exc_type = _STATUS_MAP.get(status, QtlError)
|
|
raise exc_type(f"quantalib native call failed (status={status})")
|
|
|
|
|
|
# ---------------------------------------------------------------------------
|
|
# Load native library
|
|
# ---------------------------------------------------------------------------
|
|
_lib = load_native_library()
|
|
|
|
# Shorthand type aliases
|
|
_dp = POINTER(c_double) # double*
|
|
_ip = POINTER(c_int) # int*
|
|
_lp = POINTER(ctypes.c_long) # long*
|
|
_ci = c_int
|
|
_cd = c_double
|
|
|
|
|
|
def _bind(name: str, argtypes: list[object]) -> bool:
|
|
"""Bind a single native function. Returns True if found."""
|
|
fn = getattr(_lib, name, None)
|
|
if fn is None:
|
|
return False
|
|
fn.argtypes = argtypes
|
|
fn.restype = _ci
|
|
return True
|
|
|
|
|
|
# ---------------------------------------------------------------------------
|
|
# Health check
|
|
# ---------------------------------------------------------------------------
|
|
HAS_SKELETON = _bind("qtl_skeleton_noop", [_dp, _ci, _dp])
|
|
|
|
# ═══════════════════════════════════════════════════════════════════════════
|
|
# Core (Exports.Generated.cs)
|
|
# ═══════════════════════════════════════════════════════════════════════════
|
|
HAS_HA = _bind("qtl_ha", [_dp, _dp, _dp, _dp, _dp, _dp, _dp, _dp, _ci])
|
|
HAS_MIDPOINT = _bind("qtl_midpoint", [_dp, _dp, _ci, _ci])
|
|
HAS_MIDPRICE = _bind("qtl_midprice", [_dp, _dp, _dp, _ci, _ci])
|
|
HAS_WCLPRICE = _bind("qtl_wclprice", [_dp, _dp, _dp, _dp, _ci])
|
|
|
|
# ── Core (Exports.cs — manual) ──
|
|
HAS_AVGPRICE = _bind("qtl_avgprice", [_dp, _dp, _dp, _dp, _ci, _dp])
|
|
HAS_MEDPRICE = _bind("qtl_medprice", [_dp, _dp, _ci, _dp])
|
|
HAS_TYPPRICE = _bind("qtl_typprice", [_dp, _dp, _dp, _ci, _dp])
|
|
HAS_MIDBODY = _bind("qtl_midbody", [_dp, _dp, _ci, _dp])
|
|
|
|
# ═══════════════════════════════════════════════════════════════════════════
|
|
# Momentum
|
|
# ═══════════════════════════════════════════════════════════════════════════
|
|
HAS_BOP = _bind("qtl_bop", [_dp, _dp, _dp, _dp, _dp, _ci])
|
|
HAS_CCI = _bind("qtl_cci", [_dp, _dp, _dp, _dp, _dp, _ci, _ci, _dp])
|
|
HAS_MACD = _bind("qtl_macd", [_dp, _dp, _ci, _ci, _ci])
|
|
HAS_PMO = _bind("qtl_pmo", [_dp, _dp, _ci, _ci, _ci, _ci])
|
|
HAS_PPO = _bind("qtl_ppo", [_dp, _dp, _ci, _ci, _ci])
|
|
HAS_PRS = _bind("qtl_prs", [_dp, _dp, _dp, _ci, _ci])
|
|
HAS_ROCP = _bind("qtl_rocp", [_dp, _dp, _ci, _ci])
|
|
HAS_ROCR = _bind("qtl_rocr", [_dp, _dp, _ci, _ci])
|
|
HAS_SAM = _bind("qtl_sam", [_dp, _dp, _ci, _cd, _ci])
|
|
HAS_VEL = _bind("qtl_vel", [_dp, _dp, _ci, _ci])
|
|
|
|
# ═══════════════════════════════════════════════════════════════════════════
|
|
# Oscillators
|
|
# ═══════════════════════════════════════════════════════════════════════════
|
|
HAS_AC = _bind("qtl_ac", [_dp, _dp, _dp, _ci, _ci, _ci, _ci])
|
|
HAS_AO = _bind("qtl_ao", [_dp, _dp, _dp, _ci, _ci, _ci])
|
|
HAS_BBS = _bind("qtl_bbs", [_dp, _dp, _dp, _dp, _ci, _ci, _cd])
|
|
HAS_COPPOCK = _bind("qtl_coppock", [_dp, _dp, _ci, _ci, _ci, _ci])
|
|
HAS_ERI = _bind("qtl_eri", [_dp, _ci, _ci, _dp])
|
|
HAS_FI = _bind("qtl_fi", [_dp, _ci, _ci, _dp])
|
|
HAS_GATOR = _bind("qtl_gator", [_dp, _dp, _ci, _ci, _ci, _ci, _ci, _ci, _ci])
|
|
HAS_IMI = _bind("qtl_imi", [_dp, _dp, _dp, _dp, _dp, _ci, _ci, _dp])
|
|
HAS_KDJ = _bind("qtl_kdj", [_dp, _dp, _dp, _dp, _dp, _dp, _ci, _ci, _ci])
|
|
HAS_KST = _bind("qtl_kst", [_dp, _dp, _dp, _ci, _ci, _ci, _ci, _ci, _ci, _ci, _ci, _ci, _ci])
|
|
HAS_MARKETFI = _bind("qtl_marketfi", [_dp, _dp, _dp, _dp, _ci])
|
|
HAS_MSTOCH = _bind("qtl_mstoch", [_dp, _dp, _ci, _ci, _ci, _ci])
|
|
HAS_PGO = _bind("qtl_pgo", [_dp, _dp, _dp, _dp, _ci, _ci])
|
|
HAS_QQE = _bind("qtl_qqe", [_dp, _dp, _ci, _ci, _ci, _cd])
|
|
HAS_REVERSEEMA = _bind("qtl_reverseema", [_dp, _dp, _ci, _ci])
|
|
HAS_RVGI = _bind("qtl_rvgi", [_dp, _dp, _dp, _dp, _dp, _dp, _ci, _ci])
|
|
HAS_SMI = _bind("qtl_smi", [_dp, _dp, _dp, _dp, _dp, _ci, _ci, _ci, _ci, _ci])
|
|
HAS_SQUEEZE = _bind("qtl_squeeze", [_dp, _dp, _dp, _dp, _dp, _ci, _ci, _cd, _cd])
|
|
HAS_STC = _bind("qtl_stc", [_dp, _dp, _ci, _ci, _ci, _ci, _ci, _ci])
|
|
HAS_STOCH = _bind("qtl_stoch", [_dp, _dp, _dp, _dp, _dp, _ci, _ci, _ci])
|
|
HAS_STOCHF = _bind("qtl_stochf", [_dp, _dp, _dp, _dp, _dp, _ci, _ci, _ci])
|
|
HAS_STOCHRSI = _bind("qtl_stochrsi", [_dp, _dp, _ci, _ci, _ci, _ci, _ci])
|
|
HAS_TTMWAVE = _bind("qtl_ttmwave", [_dp, _ci, _dp])
|
|
HAS_ULTOSC = _bind("qtl_ultosc", [_dp, _dp, _dp, _dp, _ci, _ci, _ci, _ci])
|
|
HAS_WILLR = _bind("qtl_willr", [_dp, _dp, _dp, _dp, _ci, _ci])
|
|
|
|
# ═══════════════════════════════════════════════════════════════════════════
|
|
# Trends — FIR
|
|
# ═══════════════════════════════════════════════════════════════════════════
|
|
HAS_FWMA = _bind("qtl_fwma", [_dp, _dp, _ci, _ci])
|
|
HAS_GWMA = _bind("qtl_gwma", [_dp, _dp, _ci, _ci, _cd])
|
|
HAS_HAMMA = _bind("qtl_hamma", [_dp, _dp, _ci, _ci])
|
|
HAS_HEND = _bind("qtl_hend", [_dp, _dp, _ci, _ci, _cd])
|
|
HAS_ILRS = _bind("qtl_ilrs", [_dp, _dp, _ci, _ci])
|
|
HAS_KAISER = _bind("qtl_kaiser", [_dp, _dp, _ci, _ci, _cd, _cd])
|
|
HAS_LANCZOS = _bind("qtl_lanczos", [_dp, _dp, _ci, _ci, _cd])
|
|
HAS_NLMA = _bind("qtl_nlma", [_dp, _dp, _ci, _ci])
|
|
HAS_NYQMA = _bind("qtl_nyqma", [_dp, _dp, _ci, _ci, _ci])
|
|
HAS_PMA = _bind("qtl_pma", [_dp, _dp, _dp, _ci, _ci])
|
|
HAS_PWMA = _bind("qtl_pwma", [_dp, _dp, _ci, _ci])
|
|
HAS_QRMA = _bind("qtl_qrma", [_dp, _dp, _ci, _ci, _cd])
|
|
HAS_RWMA = _bind("qtl_rwma", [_dp, _dp, _dp, _dp, _ci, _ci])
|
|
|
|
# ═══════════════════════════════════════════════════════════════════════════
|
|
# Trends — IIR
|
|
# ═══════════════════════════════════════════════════════════════════════════
|
|
HAS_ADXVMA = _bind("qtl_adxvma", [_dp, _dp, _dp, _dp, _dp, _ci, _ci, _dp])
|
|
HAS_FRAMA = _bind("qtl_frama", [_dp, _dp, _ci, _ci])
|
|
HAS_HOLT = _bind("qtl_holt", [_dp, _dp, _ci, _ci, _cd])
|
|
HAS_HTIT = _bind("qtl_htit", [_dp, _dp, _ci])
|
|
HAS_HWMA = _bind("qtl_hwma", [_dp, _dp, _ci, _ci])
|
|
HAS_JMA = _bind("qtl_jma", [_dp, _dp, _ci, _ci, _ci])
|
|
HAS_KAMA = _bind("qtl_kama", [_dp, _dp, _ci, _ci, _ci, _ci])
|
|
HAS_LTMA = _bind("qtl_ltma", [_dp, _dp, _ci, _ci])
|
|
HAS_MAMA = _bind("qtl_mama", [_dp, _dp, _cd, _ci, _cd, _dp])
|
|
HAS_MAVP = _bind("qtl_mavp", [_dp, _dp, _dp, _ci, _ci, _ci])
|
|
HAS_MCNMA = _bind("qtl_mcnma", [_dp, _dp, _ci, _ci])
|
|
HAS_MGDI = _bind("qtl_mgdi", [_dp, _dp, _ci, _ci, _cd])
|
|
HAS_MMA = _bind("qtl_mma", [_dp, _dp, _ci, _ci])
|
|
HAS_NMA = _bind("qtl_nma", [_dp, _dp, _ci, _ci])
|
|
HAS_QEMA = _bind("qtl_qema", [_dp, _dp, _ci, _ci])
|
|
HAS_REMA = _bind("qtl_rema", [_dp, _dp, _ci, _ci, _cd])
|
|
HAS_RGMA = _bind("qtl_rgma", [_dp, _dp, _ci, _ci, _ci])
|
|
HAS_RMA = _bind("qtl_rma", [_dp, _dp, _ci, _ci])
|
|
HAS_T3 = _bind("qtl_t3", [_dp, _dp, _ci, _ci, _cd])
|
|
HAS_TRAMA = _bind("qtl_trama", [_dp, _dp, _ci, _ci])
|
|
HAS_VAMA = _bind("qtl_vama", [_dp, _dp, _dp, _dp, _dp, _ci, _ci, _ci, _ci, _ci, _ci, _dp])
|
|
HAS_VIDYA = _bind("qtl_vidya", [_dp, _dp, _ci, _ci])
|
|
HAS_YZVAMA = _bind("qtl_yzvama", [_dp, _dp, _dp, _dp, _dp, _ci, _ci, _ci, _ci, _ci, _ci, _dp])
|
|
HAS_ZLDEMA = _bind("qtl_zldema", [_dp, _dp, _ci, _ci])
|
|
HAS_ZLEMA = _bind("qtl_zlema", [_dp, _dp, _ci, _ci])
|
|
HAS_ZLTEMA = _bind("qtl_zltema", [_dp, _dp, _ci, _ci])
|
|
|
|
# ═══════════════════════════════════════════════════════════════════════════
|
|
# Channels
|
|
# ═══════════════════════════════════════════════════════════════════════════
|
|
HAS_ACCBANDS = _bind("qtl_accbands", [_dp, _dp, _dp, _dp, _dp, _dp, _ci, _ci, _cd])
|
|
HAS_APZ = _bind("qtl_apz", [_dp, _dp, _dp, _dp, _dp, _ci, _cd, _ci, _dp, _dp, _dp])
|
|
HAS_DCHANNEL = _bind("qtl_dchannel", [_dp, _dp, _dp, _dp, _dp, _ci, _ci])
|
|
HAS_DECAYCHANNEL = _bind("qtl_decaychannel", [_dp, _dp, _dp, _dp, _dp, _ci, _ci])
|
|
HAS_FCB = _bind("qtl_fcb", [_dp, _dp, _dp, _dp, _dp, _ci, _ci])
|
|
HAS_JBANDS = _bind("qtl_jbands", [_dp, _dp, _dp, _dp, _ci, _ci, _ci])
|
|
HAS_KCHANNEL = _bind("qtl_kchannel", [_dp, _dp, _dp, _dp, _dp, _dp, _ci, _ci, _cd])
|
|
HAS_MAENV = _bind("qtl_maenv", [_dp, _dp, _dp, _dp, _ci, _ci, _cd, _ci])
|
|
HAS_MMCHANNEL = _bind("qtl_mmchannel", [_dp, _dp, _dp, _dp, _ci, _ci])
|
|
HAS_PCHANNEL = _bind("qtl_pchannel", [_dp, _dp, _dp, _dp, _dp, _ci, _ci])
|
|
HAS_REGCHANNEL = _bind("qtl_regchannel", [_dp, _dp, _dp, _dp, _ci, _ci, _cd])
|
|
HAS_SDCHANNEL = _bind("qtl_sdchannel", [_dp, _dp, _dp, _dp, _ci, _ci, _cd])
|
|
HAS_STARCHANNEL = _bind("qtl_starchannel", [_dp, _dp, _dp, _dp, _dp, _dp, _ci, _ci, _cd, _ci])
|
|
HAS_STBANDS = _bind("qtl_stbands", [_dp, _dp, _dp, _dp, _dp, _dp, _ci, _ci, _cd])
|
|
HAS_TTMLRC = _bind("qtl_ttmlrc", [_dp, _dp, _dp, _dp, _dp, _dp, _ci, _ci])
|
|
HAS_UBANDS = _bind("qtl_ubands", [_dp, _dp, _dp, _dp, _ci, _ci, _cd])
|
|
HAS_UCHANNEL = _bind("qtl_uchannel", [_dp, _dp, _dp, _dp, _dp, _dp, _ci, _ci, _ci, _cd])
|
|
HAS_VWAPBANDS = _bind("qtl_vwapbands", [_dp, _dp, _dp, _dp, _dp, _dp, _dp, _dp, _ci, _cd])
|
|
HAS_VWAPSD = _bind("qtl_vwapsd", [_dp, _dp, _dp, _dp, _dp, _dp, _ci, _cd])
|
|
|
|
# ═══════════════════════════════════════════════════════════════════════════
|
|
# Volatility
|
|
# ═══════════════════════════════════════════════════════════════════════════
|
|
HAS_ADR = _bind("qtl_adr", [_dp, _dp, _dp, _dp, _dp, _ci, _ci, _ci, _dp])
|
|
HAS_ATR = _bind("qtl_atr", [_dp, _dp, _dp, _dp, _dp, _ci, _ci, _dp])
|
|
HAS_ATRN = _bind("qtl_atrn", [_dp, _dp, _dp, _dp, _dp, _ci, _ci, _dp])
|
|
HAS_GKV = _bind("qtl_gkv", [_dp, _dp, _dp, _dp, _dp, _ci, _ci, _ci, _ci])
|
|
HAS_HLV = _bind("qtl_hlv", [_dp, _dp, _dp, _ci, _ci, _ci, _ci])
|
|
HAS_HV = _bind("qtl_hv", [_dp, _dp, _ci, _ci, _ci, _ci])
|
|
HAS_JVOLTY = _bind("qtl_jvolty", [_dp, _dp, _ci, _ci])
|
|
HAS_JVOLTYN = _bind("qtl_jvoltyn", [_dp, _dp, _ci, _ci])
|
|
HAS_MASSI = _bind("qtl_massi", [_dp, _dp, _ci, _ci, _ci])
|
|
HAS_NATR = _bind("qtl_natr", [_dp, _dp, _dp, _dp, _dp, _ci, _ci, _dp])
|
|
HAS_RSV = _bind("qtl_rsv", [_dp, _dp, _dp, _dp, _dp, _ci, _ci, _ci, _ci])
|
|
HAS_RV = _bind("qtl_rv", [_dp, _dp, _ci, _ci, _ci, _ci, _ci])
|
|
HAS_RVI = _bind("qtl_rvi", [_dp, _dp, _ci, _ci, _ci])
|
|
HAS_UI = _bind("qtl_ui", [_dp, _dp, _ci, _ci])
|
|
HAS_VOV = _bind("qtl_vov", [_dp, _dp, _ci, _ci, _ci])
|
|
HAS_VR = _bind("qtl_vr", [_dp, _dp, _dp, _dp, _ci, _ci])
|
|
HAS_YZV = _bind("qtl_yzv", [_dp, _dp, _dp, _dp, _dp, _ci, _ci])
|
|
|
|
# ═══════════════════════════════════════════════════════════════════════════
|
|
# Volume
|
|
# ═══════════════════════════════════════════════════════════════════════════
|
|
HAS_ADL = _bind("qtl_adl", [_dp, _dp, _dp, _dp, _dp, _ci])
|
|
HAS_ADOSC = _bind("qtl_adosc", [_dp, _dp, _dp, _dp, _dp, _ci, _ci, _ci])
|
|
HAS_III = _bind("qtl_iii", [_dp, _dp, _dp, _dp, _dp, _ci, _ci, _ci])
|
|
HAS_KVO = _bind("qtl_kvo", [_dp, _dp, _dp, _dp, _dp, _dp, _ci, _ci, _ci, _ci])
|
|
HAS_TWAP = _bind("qtl_twap", [_dp, _dp, _ci, _ci])
|
|
HAS_VA = _bind("qtl_va", [_dp, _dp, _dp, _dp, _dp, _ci])
|
|
HAS_VO = _bind("qtl_vo", [_dp, _dp, _ci, _ci, _ci])
|
|
HAS_VROC = _bind("qtl_vroc", [_dp, _dp, _ci, _ci, _ci])
|
|
HAS_VWAD = _bind("qtl_vwad", [_dp, _dp, _dp, _dp, _dp, _ci, _ci])
|
|
HAS_VWAP = _bind("qtl_vwap", [_dp, _dp, _dp, _dp, _dp, _ci, _ci])
|
|
HAS_WAD = _bind("qtl_wad", [_dp, _dp, _dp, _dp, _dp, _ci])
|
|
|
|
# ═══════════════════════════════════════════════════════════════════════════
|
|
# Statistics
|
|
# ═══════════════════════════════════════════════════════════════════════════
|
|
HAS_ACF = _bind("qtl_acf", [_dp, _dp, _ci, _ci, _ci])
|
|
HAS_GEOMEAN = _bind("qtl_geomean", [_dp, _dp, _ci, _ci])
|
|
HAS_GRANGER = _bind("qtl_granger", [_dp, _dp, _dp, _ci, _ci])
|
|
HAS_HARMEAN = _bind("qtl_harmean", [_dp, _dp, _ci, _ci])
|
|
HAS_HURST = _bind("qtl_hurst", [_dp, _dp, _ci, _ci])
|
|
HAS_IQR = _bind("qtl_iqr", [_dp, _dp, _ci, _ci])
|
|
HAS_JB = _bind("qtl_jb", [_dp, _dp, _ci, _ci])
|
|
HAS_KENDALL = _bind("qtl_kendall", [_dp, _dp, _dp, _ci, _ci])
|
|
HAS_KURTOSIS = _bind("qtl_kurtosis", [_dp, _dp, _ci, _ci, _ci])
|
|
HAS_LINREG = _bind("qtl_linreg", [_dp, _dp, _ci, _ci, _ci, _cd])
|
|
HAS_MEANDEV = _bind("qtl_meandev", [_dp, _dp, _ci, _ci])
|
|
HAS_MEDIAN = _bind("qtl_median", [_dp, _dp, _ci, _ci])
|
|
HAS_MODE = _bind("qtl_mode", [_dp, _dp, _ci, _ci])
|
|
HAS_PACF = _bind("qtl_pacf", [_dp, _dp, _ci, _ci, _ci])
|
|
HAS_PERCENTILE = _bind("qtl_percentile", [_dp, _dp, _ci, _ci, _cd])
|
|
HAS_POLYFIT = _bind("qtl_polyfit", [_dp, _dp, _ci, _ci, _ci, _cd])
|
|
HAS_QUANTILE = _bind("qtl_quantile", [_dp, _dp, _ci, _ci, _cd])
|
|
HAS_SKEW = _bind("qtl_skew", [_dp, _dp, _ci, _ci, _ci])
|
|
HAS_SPEARMAN = _bind("qtl_spearman", [_dp, _dp, _dp, _ci, _ci])
|
|
HAS_STDERR = _bind("qtl_stderr", [_dp, _dp, _ci, _ci])
|
|
HAS_SUM = _bind("qtl_sum", [_dp, _dp, _ci, _ci])
|
|
HAS_THEIL = _bind("qtl_theil", [_dp, _dp, _ci, _ci])
|
|
HAS_TRIM = _bind("qtl_trim", [_dp, _dp, _ci, _ci, _cd])
|
|
HAS_WAVG = _bind("qtl_wavg", [_dp, _dp, _ci, _ci])
|
|
HAS_WINS = _bind("qtl_wins", [_dp, _dp, _ci, _ci, _cd])
|
|
HAS_ZTEST = _bind("qtl_ztest", [_dp, _dp, _ci, _ci, _cd])
|
|
|
|
# ═══════════════════════════════════════════════════════════════════════════
|
|
# Errors
|
|
# ═══════════════════════════════════════════════════════════════════════════
|
|
HAS_HUBER = _bind("qtl_huber", [_dp, _dp, _dp, _ci, _ci, _cd])
|
|
HAS_LOGCOSH = _bind("qtl_logcosh", [_dp, _dp, _dp, _ci, _ci])
|
|
HAS_MAAPE = _bind("qtl_maape", [_dp, _dp, _dp, _ci, _ci])
|
|
HAS_MAPD = _bind("qtl_mapd", [_dp, _dp, _dp, _ci, _ci])
|
|
HAS_MASE = _bind("qtl_mase", [_dp, _dp, _dp, _ci, _ci])
|
|
HAS_MDAE = _bind("qtl_mdae", [_dp, _dp, _dp, _ci, _ci])
|
|
HAS_MDAPE = _bind("qtl_mdape", [_dp, _dp, _dp, _ci, _ci])
|
|
HAS_ME = _bind("qtl_me", [_dp, _dp, _dp, _ci, _ci])
|
|
HAS_MPE = _bind("qtl_mpe", [_dp, _dp, _dp, _ci, _ci])
|
|
HAS_MRAE = _bind("qtl_mrae", [_dp, _dp, _dp, _ci, _ci])
|
|
HAS_MSLE = _bind("qtl_msle", [_dp, _dp, _dp, _ci, _ci])
|
|
HAS_PSEUDOHUBER = _bind("qtl_pseudohuber", [_dp, _dp, _dp, _ci, _ci, _cd])
|
|
HAS_QUANTILELOSS = _bind("qtl_quantileloss", [_dp, _dp, _dp, _ci, _ci, _cd])
|
|
HAS_RAE = _bind("qtl_rae", [_dp, _dp, _dp, _ci, _ci])
|
|
HAS_RMSLE = _bind("qtl_rmsle", [_dp, _dp, _dp, _ci, _ci])
|
|
HAS_RSE = _bind("qtl_rse", [_dp, _dp, _dp, _ci, _ci])
|
|
HAS_RSQUARED = _bind("qtl_rsquared", [_dp, _dp, _dp, _ci, _ci])
|
|
HAS_SMAPE = _bind("qtl_smape", [_dp, _dp, _dp, _ci, _ci])
|
|
HAS_THEILU = _bind("qtl_theilu", [_dp, _dp, _dp, _ci, _ci])
|
|
HAS_TUKEYBIWEIGHT = _bind("qtl_tukeybiweight", [_dp, _dp, _dp, _ci, _ci, _cd])
|
|
HAS_WMAPE = _bind("qtl_wmape", [_dp, _dp, _dp, _ci, _ci])
|
|
HAS_WRMSE = _bind("qtl_wrmse", [_dp, _dp, _dp, _ci, _ci])
|
|
|
|
# ═══════════════════════════════════════════════════════════════════════════
|
|
# Filters
|
|
# ═══════════════════════════════════════════════════════════════════════════
|
|
HAS_GAUSS = _bind("qtl_gauss", [_dp, _dp, _ci, _cd])
|
|
HAS_HANN = _bind("qtl_hann", [_dp, _dp, _ci, _ci])
|
|
HAS_HP = _bind("qtl_hp", [_dp, _dp, _ci, _cd])
|
|
HAS_HPF = _bind("qtl_hpf", [_dp, _dp, _ci, _ci])
|
|
HAS_KALMAN = _bind("qtl_kalman", [_dp, _dp, _ci, _cd, _cd])
|
|
HAS_LAGUERRE = _bind("qtl_laguerre", [_dp, _dp, _ci, _cd])
|
|
HAS_LMS = _bind("qtl_lms", [_dp, _dp, _ci, _ci, _cd])
|
|
HAS_LOESS = _bind("qtl_loess", [_dp, _dp, _ci, _ci])
|
|
HAS_MODF = _bind("qtl_modf", [_dp, _dp, _ci, _ci, _cd, _ci, _cd])
|
|
HAS_NOTCH = _bind("qtl_notch", [_dp, _dp, _ci, _ci, _cd])
|
|
HAS_NW = _bind("qtl_nw", [_dp, _dp, _ci, _ci, _cd])
|
|
HAS_ONEEURO = _bind("qtl_oneeuro", [_dp, _dp, _ci, _cd, _cd, _cd])
|
|
HAS_RLS = _bind("qtl_rls", [_dp, _dp, _ci, _ci, _cd])
|
|
HAS_RMED = _bind("qtl_rmed", [_dp, _dp, _ci, _ci])
|
|
HAS_ROOFING = _bind("qtl_roofing", [_dp, _dp, _ci, _ci, _ci])
|
|
HAS_SGF = _bind("qtl_sgf", [_dp, _dp, _ci, _ci, _ci])
|
|
HAS_SPBF = _bind("qtl_spbf", [_dp, _dp, _ci, _ci, _ci, _ci])
|
|
HAS_SSF2 = _bind("qtl_ssf2", [_dp, _dp, _ci, _ci])
|
|
HAS_SSF3 = _bind("qtl_ssf3", [_dp, _dp, _ci, _ci, _cd])
|
|
HAS_USF = _bind("qtl_usf", [_dp, _dp, _ci, _ci])
|
|
HAS_VOSS = _bind("qtl_voss", [_dp, _dp, _ci, _ci, _ci, _cd])
|
|
HAS_WAVELET = _bind("qtl_wavelet", [_dp, _dp, _ci, _ci, _cd])
|
|
HAS_WIENER = _bind("qtl_wiener", [_dp, _dp, _ci, _ci, _ci])
|
|
|
|
# ═══════════════════════════════════════════════════════════════════════════
|
|
# Cycles
|
|
# ═══════════════════════════════════════════════════════════════════════════
|
|
HAS_HOMOD = _bind("qtl_homod", [_dp, _dp, _ci, _cd, _cd])
|
|
HAS_HTDCPERIOD = _bind("qtl_htdcperiod", [_dp, _dp, _ci])
|
|
HAS_HTDCPHASE = _bind("qtl_htdcphase", [_dp, _dp, _ci])
|
|
HAS_HTPHASOR = _bind("qtl_htphasor", [_dp, _dp, _dp, _ci])
|
|
HAS_HTSINE = _bind("qtl_htsine", [_dp, _dp, _dp, _ci])
|
|
HAS_LUNAR = _bind("qtl_lunar", [_dp, _ci, _dp])
|
|
HAS_SOLAR = _bind("qtl_solar", [_dp, _ci, _dp])
|
|
HAS_SSFDSP = _bind("qtl_ssfdsp", [_dp, _dp, _ci, _ci])
|
|
|
|
# ═══════════════════════════════════════════════════════════════════════════
|
|
# Dynamics
|
|
# ═══════════════════════════════════════════════════════════════════════════
|
|
HAS_ADX = _bind("qtl_adx", [_dp, _dp, _dp, _ci, _ci, _dp])
|
|
HAS_ADXR = _bind("qtl_adxr", [_dp, _dp, _dp, _ci, _ci, _dp])
|
|
HAS_ALLIGATOR = _bind("qtl_alligator", [_dp, _dp, _dp, _dp, _dp, _ci, _ci, _ci, _ci, _ci, _ci, _ci, _dp])
|
|
HAS_AMAT = _bind("qtl_amat", [_dp, _dp, _dp, _ci, _ci, _ci])
|
|
HAS_AROON = _bind("qtl_aroon", [_dp, _dp, _ci, _ci, _dp])
|
|
HAS_AROONOSC = _bind("qtl_aroonosc", [_dp, _dp, _ci, _ci, _dp])
|
|
HAS_CHOP = _bind("qtl_chop", [_dp, _dp, _dp, _dp, _dp, _ci, _ci, _dp])
|
|
HAS_DMX = _bind("qtl_dmx", [_dp, _dp, _dp, _ci, _ci, _dp])
|
|
HAS_DX = _bind("qtl_dx", [_dp, _dp, _dp, _ci, _ci, _dp])
|
|
HAS_GHLA = _bind("qtl_ghla", [_dp, _dp, _dp, _dp, _ci, _ci])
|
|
HAS_HTTRENDMODE = _bind("qtl_httrendmode", [_dp, _dp, _ci])
|
|
HAS_ICHIMOKU = _bind("qtl_ichimoku", [_dp, _dp, _dp, _dp, _dp, _ci, _ci, _ci, _ci, _ci, _dp, _dp, _dp, _dp, _dp])
|
|
HAS_IMPULSE = _bind("qtl_impulse", [_dp, _ci, _ci, _ci, _ci, _ci, _dp])
|
|
HAS_PFE = _bind("qtl_pfe", [_dp, _dp, _ci, _ci, _ci])
|
|
HAS_QSTICK = _bind("qtl_qstick", [_dp, _dp, _dp, _dp, _dp, _ci, _ci, _ci, _dp])
|
|
HAS_RAVI = _bind("qtl_ravi", [_dp, _dp, _ci, _ci, _ci])
|
|
HAS_SUPER = _bind("qtl_super", [_dp, _dp, _dp, _dp, _dp, _ci, _cd, _ci, _dp])
|
|
HAS_TTMSQUEEZE = _bind("qtl_ttmsqueeze", [_dp, _dp, _dp, _dp, _dp, _ci, _cd, _ci, _cd, _ci, _ci, _dp])
|
|
HAS_TTMTREND = _bind("qtl_ttmtrend", [_dp, _dp, _dp, _dp, _dp, _ci, _ci, _dp])
|
|
HAS_VHF = _bind("qtl_vhf", [_dp, _dp, _ci, _ci])
|
|
HAS_VORTEX = _bind("qtl_vortex", [_dp, _dp, _dp, _ci, _dp, _ci, _dp])
|
|
|
|
# ═══════════════════════════════════════════════════════════════════════════
|
|
# Numerics
|
|
# ═══════════════════════════════════════════════════════════════════════════
|
|
HAS_ACCEL = _bind("qtl_accel", [_dp, _dp, _ci])
|
|
HAS_FDIST = _bind("qtl_fdist", [_dp, _dp, _ci, _ci, _ci, _ci])
|
|
HAS_FFT = _bind("qtl_fft", [_dp, _dp, _ci, _ci, _ci, _ci])
|
|
HAS_GAMMADIST = _bind("qtl_gammadist", [_dp, _dp, _ci, _cd, _cd, _ci])
|
|
HAS_HIGHEST = _bind("qtl_highest", [_dp, _dp, _ci, _ci])
|
|
HAS_IFFT = _bind("qtl_ifft", [_dp, _dp, _ci, _ci, _ci])
|
|
HAS_JERK = _bind("qtl_jerk", [_dp, _dp, _ci])
|
|
HAS_LINEARTRANS = _bind("qtl_lineartrans", [_dp, _dp, _ci, _cd, _cd])
|
|
HAS_LOGNORMDIST = _bind("qtl_lognormdist", [_dp, _dp, _ci, _cd, _cd, _ci])
|
|
HAS_LOGTRANS = _bind("qtl_logtrans", [_dp, _dp, _ci])
|
|
HAS_LOWEST = _bind("qtl_lowest", [_dp, _dp, _ci, _ci])
|
|
HAS_NORMALIZE = _bind("qtl_normalize", [_dp, _dp, _ci, _ci])
|
|
HAS_NORMDIST = _bind("qtl_normdist", [_dp, _dp, _ci, _cd, _cd, _ci])
|
|
HAS_POISSONDIST = _bind("qtl_poissondist", [_dp, _dp, _ci, _cd, _ci, _ci])
|
|
HAS_RELU = _bind("qtl_relu", [_dp, _dp, _ci])
|
|
HAS_SIGMOID = _bind("qtl_sigmoid", [_dp, _dp, _ci, _cd, _cd])
|
|
HAS_SLOPE = _bind("qtl_slope", [_dp, _dp, _ci])
|
|
HAS_SQRTTRANS = _bind("qtl_sqrttrans", [_dp, _dp, _ci])
|
|
HAS_TDIST = _bind("qtl_tdist", [_dp, _dp, _ci, _ci, _ci])
|
|
HAS_WEIBULLDIST = _bind("qtl_weibulldist", [_dp, _dp, _ci, _cd, _cd, _ci])
|
|
|
|
# ═══════════════════════════════════════════════════════════════════════════
|
|
# Reversals
|
|
# ═══════════════════════════════════════════════════════════════════════════
|
|
HAS_CHANDELIER = _bind("qtl_chandelier", [_dp, _dp, _dp, _dp, _dp, _ci, _ci, _cd])
|
|
HAS_CKSTOP = _bind("qtl_ckstop", [_dp, _dp, _dp, _dp, _dp, _ci, _ci, _cd, _ci])
|
|
HAS_FRACTALS = _bind("qtl_fractals", [_dp, _dp, _dp, _dp, _ci])
|
|
HAS_PIVOT = _bind("qtl_pivot", [_dp, _dp, _dp, _dp, _ci])
|
|
HAS_PIVOTCAM = _bind("qtl_pivotcam", [_dp, _dp, _dp, _dp, _ci])
|
|
HAS_PIVOTDEM = _bind("qtl_pivotdem", [_dp, _dp, _dp, _dp, _dp, _ci])
|
|
HAS_PIVOTEXT = _bind("qtl_pivotext", [_dp, _dp, _dp, _dp, _ci])
|
|
HAS_PIVOTFIB = _bind("qtl_pivotfib", [_dp, _dp, _dp, _dp, _ci])
|
|
HAS_PIVOTWOOD = _bind("qtl_pivotwood", [_dp, _dp, _dp, _dp, _ci])
|
|
HAS_PSAR = _bind("qtl_psar", [_dp, _dp, _dp, _dp, _dp, _ci, _cd, _cd, _cd])
|
|
HAS_SWINGS = _bind("qtl_swings", [_dp, _dp, _dp, _dp, _ci, _ci])
|
|
HAS_TTMSCALPER = _bind("qtl_ttmscalper", [_dp, _dp, _dp, _dp, _dp, _ci, _ci])
|
|
|
|
|
|
# ── Momentum (Exports.cs — manual) ──
|
|
HAS_RSI = _bind("qtl_rsi", [_dp, _ci, _dp, _ci])
|
|
HAS_ROC = _bind("qtl_roc", [_dp, _ci, _dp, _ci])
|
|
HAS_MOM = _bind("qtl_mom", [_dp, _ci, _dp, _ci])
|
|
HAS_CMO = _bind("qtl_cmo", [_dp, _ci, _dp, _ci])
|
|
HAS_TSI = _bind("qtl_tsi", [_dp, _ci, _dp, _ci, _ci])
|
|
HAS_APO = _bind("qtl_apo", [_dp, _ci, _dp, _ci, _ci])
|
|
HAS_BIAS = _bind("qtl_bias", [_dp, _ci, _dp, _ci])
|
|
HAS_CFO = _bind("qtl_cfo", [_dp, _ci, _dp, _ci])
|
|
HAS_CFB = _bind("qtl_cfb", [_dp, _ci, _dp, _ip, _ci])
|
|
HAS_ASI = _bind("qtl_asi", [_dp, _dp, _dp, _dp, _ci, _dp, _cd])
|
|
|
|
# ── Oscillators (Exports.cs — manual) ──
|
|
HAS_FISHER = _bind("qtl_fisher", [_dp, _ci, _dp, _ci])
|
|
HAS_FISHER04 = _bind("qtl_fisher04", [_dp, _ci, _dp, _ci])
|
|
HAS_DPO = _bind("qtl_dpo", [_dp, _ci, _dp, _ci])
|
|
HAS_TRIX = _bind("qtl_trix", [_dp, _ci, _dp, _ci])
|
|
HAS_INERTIA = _bind("qtl_inertia", [_dp, _ci, _dp, _ci])
|
|
HAS_RSX = _bind("qtl_rsx", [_dp, _ci, _dp, _ci])
|
|
HAS_ER = _bind("qtl_er", [_dp, _ci, _dp, _ci])
|
|
HAS_CTI = _bind("qtl_cti", [_dp, _ci, _dp, _ci])
|
|
HAS_REFLEX = _bind("qtl_reflex", [_dp, _ci, _dp, _ci])
|
|
HAS_TRENDFLEX = _bind("qtl_trendflex", [_dp, _ci, _dp, _ci])
|
|
HAS_KRI = _bind("qtl_kri", [_dp, _ci, _dp, _ci])
|
|
HAS_PSL = _bind("qtl_psl", [_dp, _ci, _dp, _ci])
|
|
HAS_DECO = _bind("qtl_deco", [_dp, _ci, _dp, _ci, _ci])
|
|
HAS_DOSC = _bind("qtl_dosc", [_dp, _ci, _dp, _ci, _ci, _ci, _ci])
|
|
HAS_DYMOI = _bind("qtl_dymoi", [_dp, _ci, _dp, _ci, _ci, _ci, _ci, _ci])
|
|
HAS_CRSI = _bind("qtl_crsi", [_dp, _ci, _dp, _ci, _ci, _ci])
|
|
HAS_BBB = _bind("qtl_bbb", [_dp, _ci, _dp, _ci, _cd])
|
|
HAS_BBI = _bind("qtl_bbi", [_dp, _ci, _dp, _ci, _ci, _ci, _ci])
|
|
HAS_DEM = _bind("qtl_dem", [_dp, _dp, _ci, _dp, _ci])
|
|
HAS_BRAR = _bind("qtl_brar", [_dp, _dp, _dp, _dp, _ci, _dp, _dp, _ci])
|
|
|
|
# ── Trends — FIR (Exports.cs — manual) ──
|
|
HAS_SMA = _bind("qtl_sma", [_dp, _ci, _dp, _ci])
|
|
HAS_WMA = _bind("qtl_wma", [_dp, _ci, _dp, _ci])
|
|
HAS_HMA = _bind("qtl_hma", [_dp, _ci, _dp, _ci])
|
|
HAS_TRIMA = _bind("qtl_trima", [_dp, _ci, _dp, _ci])
|
|
HAS_SWMA = _bind("qtl_swma", [_dp, _ci, _dp, _ci])
|
|
HAS_DWMA = _bind("qtl_dwma", [_dp, _ci, _dp, _ci])
|
|
HAS_BLMA = _bind("qtl_blma", [_dp, _ci, _dp, _ci])
|
|
HAS_ALMA = _bind("qtl_alma", [_dp, _ci, _dp, _ci, _cd, _cd])
|
|
HAS_LSMA = _bind("qtl_lsma", [_dp, _ci, _dp, _ci, _ci, _cd])
|
|
HAS_SGMA = _bind("qtl_sgma", [_dp, _ci, _dp, _ci])
|
|
HAS_SINEMA = _bind("qtl_sinema", [_dp, _ci, _dp, _ci])
|
|
HAS_HANMA = _bind("qtl_hanma", [_dp, _ci, _dp, _ci])
|
|
HAS_PARZEN = _bind("qtl_parzen", [_dp, _ci, _dp, _ci])
|
|
HAS_TSF = _bind("qtl_tsf", [_dp, _ci, _dp, _ci])
|
|
HAS_CONV = _bind("qtl_conv", [_dp, _ci, _dp, _dp, _ci])
|
|
HAS_BWMA = _bind("qtl_bwma", [_dp, _ci, _dp, _ci, _ci])
|
|
HAS_CRMA = _bind("qtl_crma", [_dp, _ci, _dp, _ci, _cd])
|
|
HAS_SP15 = _bind("qtl_sp15", [_dp, _ci, _dp, _ci])
|
|
HAS_TUKEY_W = _bind("qtl_tukey_w", [_dp, _ci, _dp, _ci])
|
|
HAS_RAIN = _bind("qtl_rain", [_dp, _ci, _dp, _ci])
|
|
HAS_AFIRMA = _bind("qtl_afirma", [_dp, _ci, _dp, _ci, _ci, _ci])
|
|
|
|
# ── Trends — IIR (Exports.cs — manual) ──
|
|
HAS_EMA = _bind("qtl_ema", [_dp, _ci, _dp, _ci])
|
|
HAS_EMA_ALPHA = _bind("qtl_ema_alpha", [_dp, _ci, _dp, _cd])
|
|
HAS_DEMA = _bind("qtl_dema", [_dp, _ci, _dp, _ci])
|
|
HAS_DEMA_ALPHA = _bind("qtl_dema_alpha", [_dp, _ci, _dp, _cd])
|
|
HAS_TEMA = _bind("qtl_tema", [_dp, _ci, _dp, _ci])
|
|
HAS_LEMA = _bind("qtl_lema", [_dp, _ci, _dp, _ci])
|
|
HAS_HEMA = _bind("qtl_hema", [_dp, _ci, _dp, _ci])
|
|
HAS_AHRENS = _bind("qtl_ahrens", [_dp, _ci, _dp, _ci])
|
|
HAS_DECYCLER = _bind("qtl_decycler", [_dp, _ci, _dp, _ci])
|
|
HAS_DSMA = _bind("qtl_dsma", [_dp, _ci, _dp, _ci, _cd])
|
|
HAS_GDEMA = _bind("qtl_gdema", [_dp, _ci, _dp, _ci, _cd])
|
|
HAS_CORAL = _bind("qtl_coral", [_dp, _ci, _dp, _ci, _cd])
|
|
HAS_AGC = _bind("qtl_agc", [_dp, _ci, _dp, _cd])
|
|
HAS_CCYC = _bind("qtl_ccyc", [_dp, _ci, _dp, _cd])
|
|
|
|
# ── Channels (Exports.cs — manual) ──
|
|
HAS_BBANDS = _bind("qtl_bbands", [_dp, _ci, _dp, _dp, _dp, _ci, _cd])
|
|
HAS_ATRBANDS = _bind("qtl_atrbands", [_dp, _dp, _dp, _ci, _dp, _dp, _dp, _ci, _cd])
|
|
HAS_APCHANNEL = _bind("qtl_apchannel", [_dp, _dp, _ci, _dp, _dp, _cd])
|
|
|
|
# ── Volatility (Exports.cs — manual) ──
|
|
HAS_TR = _bind("qtl_tr", [_dp, _dp, _dp, _ci, _dp])
|
|
HAS_BBW = _bind("qtl_bbw", [_dp, _ci, _dp, _ci, _cd])
|
|
HAS_BBWN = _bind("qtl_bbwn", [_dp, _ci, _dp, _ci, _cd, _ci])
|
|
HAS_BBWP = _bind("qtl_bbwp", [_dp, _ci, _dp, _ci, _cd, _ci])
|
|
HAS_STDDEV = _bind("qtl_stddev", [_dp, _ci, _dp, _ci])
|
|
HAS_VARIANCE = _bind("qtl_variance", [_dp, _ci, _dp, _ci])
|
|
HAS_ETHERM = _bind("qtl_etherm", [_dp, _dp, _ci, _dp, _ci])
|
|
HAS_CCV = _bind("qtl_ccv", [_dp, _ci, _dp, _ci, _ci])
|
|
HAS_CV = _bind("qtl_cv", [_dp, _ci, _dp, _ci, _cd, _cd])
|
|
HAS_CVI = _bind("qtl_cvi", [_dp, _ci, _dp, _ci, _ci])
|
|
HAS_EWMA = _bind("qtl_ewma", [_dp, _ci, _dp, _ci, _ci, _ci])
|
|
|
|
# ── Volume (Exports.cs — manual) ──
|
|
HAS_OBV = _bind("qtl_obv", [_dp, _dp, _ci, _dp])
|
|
HAS_PVT = _bind("qtl_pvt", [_dp, _dp, _ci, _dp])
|
|
HAS_PVR = _bind("qtl_pvr", [_dp, _dp, _ci, _dp])
|
|
HAS_VF = _bind("qtl_vf", [_dp, _dp, _ci, _dp])
|
|
HAS_NVI = _bind("qtl_nvi", [_dp, _dp, _ci, _dp])
|
|
HAS_PVI = _bind("qtl_pvi", [_dp, _dp, _ci, _dp])
|
|
HAS_TVI = _bind("qtl_tvi", [_dp, _dp, _ci, _dp, _ci])
|
|
HAS_PVD = _bind("qtl_pvd", [_dp, _dp, _ci, _dp, _ci])
|
|
HAS_VWMA = _bind("qtl_vwma", [_dp, _dp, _ci, _dp, _ci])
|
|
HAS_EVWMA = _bind("qtl_evwma", [_dp, _dp, _ci, _dp, _ci])
|
|
HAS_EFI = _bind("qtl_efi", [_dp, _dp, _ci, _dp, _ci])
|
|
HAS_AOBV = _bind("qtl_aobv", [_dp, _dp, _ci, _dp, _dp])
|
|
HAS_MFI = _bind("qtl_mfi", [_dp, _dp, _dp, _dp, _ci, _dp, _ci])
|
|
HAS_CMF = _bind("qtl_cmf", [_dp, _dp, _dp, _dp, _ci, _dp, _ci])
|
|
HAS_EOM = _bind("qtl_eom", [_dp, _dp, _dp, _ci, _dp, _ci, _cd])
|
|
HAS_PVO = _bind("qtl_pvo", [_dp, _ci, _dp, _dp, _dp, _ci, _ci, _ci])
|
|
|
|
# ── Statistics (Exports.cs — manual) ──
|
|
HAS_ZSCORE = _bind("qtl_zscore", [_dp, _ci, _dp, _ci])
|
|
HAS_CMA = _bind("qtl_cma", [_dp, _ci, _dp])
|
|
HAS_ENTROPY = _bind("qtl_entropy", [_dp, _ci, _dp, _ci])
|
|
HAS_CORRELATION = _bind("qtl_correlation", [_dp, _dp, _ci, _dp, _ci])
|
|
HAS_COVARIANCE = _bind("qtl_covariance", [_dp, _dp, _ci, _dp, _ci, _ci])
|
|
HAS_COINTEGRATION = _bind("qtl_cointegration", [_dp, _dp, _ci, _dp, _ci])
|
|
|
|
# ── Errors (Exports.cs — manual) ──
|
|
HAS_MSE = _bind("qtl_mse", [_dp, _dp, _ci, _dp, _ci])
|
|
HAS_RMSE = _bind("qtl_rmse", [_dp, _dp, _ci, _dp, _ci])
|
|
HAS_MAE = _bind("qtl_mae", [_dp, _dp, _ci, _dp, _ci])
|
|
HAS_MAPE = _bind("qtl_mape", [_dp, _dp, _ci, _dp, _ci])
|
|
|
|
# ── Filters (Exports.cs — manual) ──
|
|
HAS_BESSEL = _bind("qtl_bessel", [_dp, _ci, _dp, _ci])
|
|
HAS_BUTTER2 = _bind("qtl_butter2", [_dp, _ci, _dp, _ci, _cd])
|
|
HAS_BUTTER3 = _bind("qtl_butter3", [_dp, _ci, _dp, _ci, _cd])
|
|
HAS_CHEBY1 = _bind("qtl_cheby1", [_dp, _ci, _dp, _ci, _cd])
|
|
HAS_CHEBY2 = _bind("qtl_cheby2", [_dp, _ci, _dp, _ci, _cd])
|
|
HAS_ELLIPTIC = _bind("qtl_elliptic", [_dp, _ci, _dp, _ci])
|
|
HAS_EDCF = _bind("qtl_edcf", [_dp, _ci, _dp, _ci])
|
|
HAS_BPF = _bind("qtl_bpf", [_dp, _ci, _dp, _ci, _ci])
|
|
HAS_ALAGUERRE = _bind("qtl_alaguerre", [_dp, _ci, _dp, _ci, _ci])
|
|
HAS_BILATERAL = _bind("qtl_bilateral", [_dp, _ci, _dp, _ci, _cd, _cd])
|
|
HAS_BAXTERKING = _bind("qtl_baxterking", [_dp, _ci, _dp, _ci, _ci, _ci])
|
|
HAS_CFITZ = _bind("qtl_cfitz", [_dp, _ci, _dp, _ci, _ci])
|
|
|
|
# ── Cycles (Exports.cs — manual) ──
|
|
HAS_CG = _bind("qtl_cg", [_dp, _ci, _dp, _ci])
|
|
HAS_DSP = _bind("qtl_dsp", [_dp, _ci, _dp, _ci])
|
|
HAS_CCOR = _bind("qtl_ccor", [_dp, _ci, _dp, _ci, _cd])
|
|
HAS_EBSW = _bind("qtl_ebsw", [_dp, _ci, _dp, _ci, _ci])
|
|
HAS_EACP = _bind("qtl_eacp", [_dp, _ci, _dp, _ci, _ci, _ci, _ci])
|
|
|
|
# ── Numerics (Exports.cs — manual) ──
|
|
HAS_CHANGE = _bind("qtl_change", [_dp, _ci, _dp, _ci])
|
|
HAS_EXPTRANS = _bind("qtl_exptrans", [_dp, _ci, _dp])
|
|
HAS_BETADIST = _bind("qtl_betadist", [_dp, _ci, _dp, _ci, _cd, _cd])
|
|
HAS_EXPDIST = _bind("qtl_expdist", [_dp, _ci, _dp, _ci, _cd])
|
|
HAS_BINOMDIST = _bind("qtl_binomdist", [_dp, _ci, _dp, _ci, _ci, _ci])
|
|
HAS_CWT = _bind("qtl_cwt", [_dp, _ci, _dp, _cd, _cd])
|
|
HAS_DWT = _bind("qtl_dwt", [_dp, _ci, _dp, _ci, _ci])
|